package com.gosophia.conferenceManagement.common.service;

import com.gosophia.commons.exception.BusinessException;
import com.gosophia.conferenceManagement.common.entity.ConferenceJobData;
import com.gosophia.conferenceManagement.scheme.entity.SchemeJobData;
import com.gosophia.conferenceManagement.starting.entity.ConferenceStartingJobData;
import com.gosophia.taskManagement.entity.Mission;

/**
 * 会议管理基础api
 * @author mayue
 *
 */
public interface ConferenceHandleService {
    /** 启动会议流程
     * @param schemeJobData 会议方案起草信息（包含大任务信息）
     * @return 创建的大任务
     * @throws BusinessException 
     */
    public Mission startingConferenceProcessing(SchemeJobData  schemeJobData) throws BusinessException;
    /**
     * 会议流转处理
     * @param conferenceJobData：不能为null
     */
    public void HandleConferenceTurning(Long jobId,Long operatorId,ConferenceJobData conferenceJobData)throws BusinessException;
    /**
     * 保存conferenceJobData
     * @param conferenceJobData：conferenceJobData不能为null；
     *  jobDataId必须为null
     */
    public void addConferenceJobData(ConferenceJobData conferenceJobData) throws BusinessException;
    
    /**
     * 修改conferenceJobData：conferenceJobDataId不能为null；
     * jobDataId不能null
     * @param conferenceJobData
     */
    public void updateConferenceJobData(ConferenceJobData conferenceJobData) throws BusinessException;
    
    /**
     * 根据conferenceJobDataId查询conferenceJobData
     * @param jobDataId 不能为null
     * @return ConferenceJobData  若没有指定id的实体则返回null
     */
    public ConferenceJobData findConferenceJobDataByJobDataId(Long conferenceJobDataId);
}
